Visual Studio代码:如何配置includePath以获得更好的IntelliSense结果

您所在的位置:网站首页 visual studio 代码美化 Visual Studio代码:如何配置includePath以获得更好的IntelliSense结果

Visual Studio代码:如何配置includePath以获得更好的IntelliSense结果

2023-03-29 17:02| 来源: 网络整理| 查看: 265

C/C++扩展的官方文档中的

为获得更好的IntelliSense结果配置includePath

如果在Visual Studio代码中打开文件夹时看到以下消息,则表示C++ IntelliSense引擎需要有关包含文件所在路径的其他信息。

在哪里定义了包含路径?

包含路径在名为c_cpp_properties.json的文件的"includePath"设置中定义,该文件位于打开的文件夹中的.vscode目录中。

您可以使用命令调色板中的"C/Cpp: Edit Configurations"命令或通过在灯泡菜单中选择"Edit "includePath" setting"来创建或打开此文件(请参见下面的屏幕截图)。定位灯泡的最快方法是滚动到源文件的顶部,然后单击显示在#include语句下的任何绿色曲折。

打开文件夹时,扩展会尝试根据您的操作系统查找系统头文件,但不知道您的项目所依赖的任何其他库。您可以将鼠标悬停在绿色的波浪线上,或者打开Problems窗口来了解IntelliSense引擎无法打开哪些头文件-有时是无法定位的从属头文件。

如何指定包含路径?

您可以使用下面介绍的技术之一指定其余路径。

使用compile_commands.json文件提供includePaths和定义信息

该扩展可以从compile_commands.json文件中获取"includePath"和"defines"的信息,该文件可以由许多构建系统自动生成,如CMake和忍者。查找定义当前配置的部分(默认情况下,每个操作系统都有一个配置,例如"Win32“或"Mac"),并将c_cpp_properties.json中的"compileCommands"属性设置为compile_commands.json文件的完整路径,扩展模块将使用该属性而不是IntelliSense.的"includes"和"defines"属性

使用灯泡建议自动解决includePath问题

要尝试的第一件事是利用灯泡路径建议自动解析包含路径。打开文件夹时,扩展模块将根据c_cpp_properties.json.中的"browse.path"设置设置的路径,以递归方式搜索与您的代码正在使用的头文件相匹配的潜在包含路径单击#include statements下面的绿色曲折图标,您将看到一个灯泡,提供允许IntelliSense解析所包含文件的路径建议。

如果在灯泡中看不到路径建议,请尝试将标头可能所在的根文件夹添加到c_cpp_properties.json.中的"browse.path"设置中这允许在这些文件夹中进行递归搜索的扩展,并在搜索过程中提供更多建议。

手动添加包含路径

如果上述方法都不能完全解析路径,则可以在c_cpp_properties.json文件中手动指定项目所依赖的标头的路径。查找定义当前配置的部分(默认情况下,每个操作系统都有一个配置,比如"Win32“或" Mac "),然后在"includePath"设置中添加路径,并在"defines"设置中定义。

另外,对于MinGW,as the documentation of the extension explains您可以要求gcc/g++列出它自己的包含文件:

gcc -v -E -x c++ nul

验证是否正确解析了包含路径

有两种方法可以验证是否正确解析了包含路径:

源文件中的绿色曲折不再是showingError消息在Problems窗口中被清除

这表明IntelliSense引擎已经解析了包含路径,因此您可以开始享受当前翻译单元的C或C++代码的完整IntelliSense。请注意,如果其他文件属于需要配置其他包含路径的不同转换单元,则您可能仍会在这些文件上看到错误。

如果这不能解决你的问题,那么,检查下面的MinGW配置,并尝试为相应的/相似的头文件和文件夹设置合适的安装位置。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3